#ifndef _QUEUE_H_
#define _QUEUE_H_
#include "list.h"
/* 实现一个双端队列 */

typedef struct _student
{
    long long int ID;
    char sex[2];
    char name[64];
} student;

typedef struct _queue
{
    DYMList list;
    int size;
} Queue;

Queue QueueCreate();                                    /* 创建队列 */
int QueuePushFront(Queue *queue, student elem);         /* 头部插入一个元素 */
int QueuePushBack(Queue *queue,student elem);          /* 尾部插入一个元素 */
int QueuePopFront(Queue *queue);                        /* 头部弹出一个元素 */
int QueuePopBack(Queue *queue);                         /* 尾部弹出一个元素 */
int QueuePeekFront(Queue *queue, student *buffer);      /* 头部查看一个元素，将头部元素写入 buffer */
int QueuePeekBack(Queue *queue, student *buffer);       /* 尾部查看一个元素，将尾部元素写入 buffer */
void QueueDestory(Queue *queue);                        /* 销毁队列 */


#endif // _QUEUE_H_